//:C12:TypeConversionAmbiguity.cpp
class Orange;    // Class declaration
class Apple
{
    public:
        operator Orange() const;    // Convert Apple to Orange
};

class Orange
{
    public:
        Orange(Apple);    // Convert Apple to Orange
};

void f(Orange){}

int main(void)
{
    Apple a;
    // ! f(a);    // Error: ambiguous conversion
}